3.6.2.2 ゼロフラッシュマスク適用
PEメモリに書き込み可能なデータ(MAUの出力、行列レジスタの転置読み出し、ALUの出力、L1BMからPEへの転送)はマスクフラグを用いて一部の値をゼロにできる。
マスク作用時にはマスクレジスタにあらかじめ書き込んでおいたマスクフラグを用いる。
マスクフラグが 0のとき、対応する箇所は書き込み前にゼロになる。
マスク作用時には次を指定する。
マスク作用語長 MAUの出力、行列レジスタの転置読み出し、ALUの出力、L1BMからPEへの転送のどれにマスク を作用させるか(複数指定不可) どのエントリを読み出すかのアドレス
code:文法
<opcode>/(ll<mask-pattern>|$llimr<adr>)
<opecode>はMAU演算、行列レジスタ転置読み出し、ALU演算、L1BMからPEへの転送のいずれかのオペコードである。
/以降の文法は書き込みマスクの単一行適用と同じである。
書き込みマスクと異なり、複数行適用の文法は存在しない。
エラー
同一ステップ内において、マスク作用語長やエントリのアドレスが一致しない複数の単一行マスク適用が指定された場合、エラーになる
複数のオペコードにゼロフラッシュマスク適用が指定された場合、エラーになる
code:例
hmmul/ll0111 $lx $lm0v $llr0v
半精度行列ベクトル積演算の結果について、第 1 サイクルをすべて 0 としたうえでGRF0に書き込む。
ここで半精度MAU演算の基本動作の結果は 2 長語になるため、マスク作用語長も 2 長語としている。